Document how to write python-lsp-server plugin + add pylsp-rope to Readme #93
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, writing a plugin for python-lsp-server is rather difficult, there is very little documentation on how to do this other than just a short pointer to "see [existing plugins] for examples on how to write plugins".
There's quite a number of non-obvious knowledge that one has to know, which is quite an impediment for people wanting to write plugins. I wanted to change that, so I've written a cookiecutter template that aims to make it much easier to start a pylsp plugin project and also aims to document how to write plugins in more depth.
Ideally, I think python-lsp-server documentation should be owned by python-lsp's organisation rather than in my own repository, so I'd request if python-lsp-server core maintainers are interested in this project, to help adopt the project into the python-lsp Github Organisation, so it can be maintained by the community rather than as an external project on my user's namespace.
The primary test case for this template is pylsp-rope, which is the first pylsp plugin written to use the template and the main driver for me wanting to write a python-lsp-server plugin. Also, this just happens to be the first public announcement of pylsp-rope, so I'm also quite excited to announce that now you can use Rope from an LSP, beyond the basic renaming and completion that exists in the current built-in Rope support.